import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import './registerServiceWorker'

// 引入axios
import '@/utils/axios'

// 引入api
import '@/apis'

// 引入mixin
import '@/mixins/mixins'


// 初始化所有样式
import 'reset-css'

// 导入element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

// 引入font-awesome
import '@/assets/css/font-awesome.css'



Vue.config.productionTip = false

// 配置路由守卫,看是否登陆以及跳转页面
router.beforeEach((to, from, next) => {
  //判断打开的页面是否是登录页面,
  /*
   如果是登录页面,表示你要到登录页面去重新登录,
   则会将之前的登录信息清除掉,
  */
  if (to.path === '/signin') {
    // 删除所有之前存储的数据
    localStorage.clear();
    next();
  } else {
    // 如果打开的不是登录页面,则要判断是否已经登录了
    /**
     * 如果已经登录,则打开指定页面,
     */
    if (localStorage.getItem("token")) {
      //跳转到指定的组件(页面)
      next();
    } else {
      // 如果没有登录,则跳转到登录页面,并且将原来要跳转的地址带过去
      //等登录完成之后,直接跳转到redirect对应的路由的页面
      next({ path: '/signin', query: { redirect: to.path } })
    }
  }
})

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
